草庐IT

java - 枚举的每个成员的内部类?

全部标签

ruby - 根据 Windows 上的每个请求重新加载 Sinatra 应用程序

我已经根据这个thread设置了Rack::Reload#config.rurequire'rubygems'require'sinatra'set:environment,:developmentrequire'app'runSinatra::Application#app.rbclassSinatra::Reloader通过thinstart-Rconfig.ru使用thin运行,但它只会重新加载新添加的路由。当我更改现有路线时,它仍会运行旧代码。当我添加新路由时,它会正确地重新加载它,因此它可以访问,但它不会重新加载任何其他内容。例如,如果我将路线更改为get'/'do'bar'

ruby-on-rails - 区分每个元素中的第一个和最后一个元素?

@example.eachdo|e|#dosomethinghereend这里我想对每个中的第一个和最后一个元素做一些不同的事情,我应该如何实现呢?当然,我可以使用循环变量i并在i==0或i==@example.size时进行跟踪,但这不是太愚蠢了吗? 最佳答案 更好的方法之一是:@example.tapdo|head,*body,tail|head.do_head_specific_task!tail.do_tail_specific_task!body.each{|segment|segment.do_body_segment_

ruby-on-rails - 生成 Rails 应用程序时从 Rails 模板内部访问应用程序名称

我正在使用rails2.3模板并希望能够在我的模板中使用应用程序名称作为变量,所以当我使用...railsappname-mpath/to/template.rb...我希望能够访问template.rb中的appname。有人知道怎么做吗?谢谢 最佳答案 我正在寻找这个问题的答案。不幸的是,上面的答案(@root)似乎在Rails3中不起作用。以下是您可以在Rails3应用程序模板中访问的变量(甚至更容易):@app_name@app_path 关于ruby-on-rails-生成Ra

ruby - 在 JRuby 中,如何确定导致 java.lang.ThreadDeath 的原因?

在为一些与JRuby中的临时文件交互的代码运行单元测试时,我有时会得到以下信息:Exception:java.lang.ThreadDeaththrownfromtheUncaughtExceptionHandlerinthread"Thread-6395"它似乎没有引起任何问题,但这是怎么回事,我如何确定它发生在哪里?我尝试打开-d,但这并没有给我异常的堆栈跟踪。 最佳答案 FWIW:这可能与http://jira.codehaus.org/browse/JRUBY-7074有关.我偶尔会在不使用反引号但调用系统的JRuby程序中

Ruby - 如何在不同线程上的每个数组元素上运行一个方法?

所以我有一个包含40000个元素的数组,我希望对每个元素运行一个方法。为了减少花费的时间,我正在考虑在多个线程上运行它。也许将数组拆分为多个数组并在不同的线程或其他东西上运行。但我不知道如何开始。假设数组是foo[],调用的方法是bar()。bar()返回一个字符串。代码执行后,我希望能够将所有字符串合并/添加到一个大字符串中。有没有办法做到这一点?我试图让我的问题尽可能简单,但如果您想了解更多信息,请告诉我。提前致谢! 最佳答案 听起来您想要类似pmap函数的东西。有一个名为peach的ruby库它在native数组上提供了pma

ruby - 如何获取注入(inject)循环的每个值

我想获取inject的每个值。例如[1,2,3].inject(3){|sum,num|sum+num}返回9,我想获取循环的所有值。我尝试了[1,2,3].inject(3).map{|sum,num|sum+num},但没有成功。我写的代码是这样的,但是我觉得是多余的。a=[1,2,3]result=[]a.inject(3)do|sum,num|v=sum+numresult[4,6,9]有没有办法同时使用inject和map? 最佳答案 使用专用的Eumerator非常适合这里,但我会为此展示更通用的方法:[1,2,3].i

ruby-on-rails - 在 Ruby on Rails 中搜索 - 如何搜索输入的每个单词而不是确切的字符串?

我已经使用ruby​​onrails构建了一个博客应用程序,我正在尝试实现一个搜索功能。博客应用程序允许用户标记帖子。标签在它们自己的表中创建并且belong_to:post。创建标签时,标签表中的记录也会创建,其中标签的名称为tag_name并通过post_id关联。标签是字符串。我试图让用户以任何顺序搜索任何单词tag_name。这就是我的意思。假设某个帖子有一个标签是“rubycodecontroller”。在我当前的搜索功能中,如果用户搜索“ruby”、“ruby代码”或“ruby代码Controller”,就会找到该标签。如果用户输入“rubycontroller”,它将不会

ruby - 产生多个参数的链接枚举器

我正在尝试弄清楚Ruby如何处理产生多个参数的链式枚举器。看看这个片段:a=['a','b','c']a.each_with_index.select{|pr|ppr}#prints:#["a",0]#["b",1]#["c",2]a.each_with_index.map{|pr|ppr}#prints:#"a"#"b"#"c"为什么select将参数作为数组生成,而map将它们作为两个单独的参数生成? 最佳答案 尝试:a.each_with_index.map{|pr,last|p"pr:#{pr}last:#{last}"}m

Ruby 枚举器链接

在这个例子中,[1,2,3].each_with_index.map{|i,j|i*j}#=>[0,2,6]我的理解是,由于each_with_index枚举器链接到map,map的行为类似于each_with_indexblock内的索引,并返回一个新数组。为此,[1,2,3].map.each_with_index{|i,j|i*j}#=>[0,2,6]我不确定如何解释它。在这个例子中,[1,2,3,4].map.find{|i|i==2}#=>2我期望输出为[2],假设map链接到find,并且map将返回一个新数组。另外,我看到了这个:[1,2,3,4].find.each_w

Ruby - 优雅地比较两个枚举器

我在Ruby(1.9.2)中有两个来自两个不同来源(二进制数据)的长数字流。两个源码封装成两个Enumerators的形式.我想检查两个流是否完全相等。我已经提出了几个解决方案,但都显得不够优雅。第一个简单地将两者转换为数组:defequal_streams?(s1,s2)s1.to_a==s2.to_aend这行得通,但它在内存方面的性能不是很好,特别是在流包含大量信息的情况下。另一种选择是……呃。defequal_streams?(s1,s2)s1.eachdo|e1|begine2=s2.nextreturnfalseunlesse1==e2#Differentelementfo